From 95bec11f6d17280e52dbb856e5ca1a5da4be39e5 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Mon, 24 Dec 2007 03:01:15 +0000 Subject: [PATCH] (phys_cursor_in_rect_p): Check if cursor is in fringe area. --- src/xdisp.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/xdisp.c b/src/xdisp.c index 13660f413e7..fa53a98556f 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -23481,6 +23481,24 @@ phys_cursor_in_rect_p (w, r) { XRectangle cr, result; struct glyph *cursor_glyph; + struct glyph_row *row; + + if (w->phys_cursor.vpos >= 0 + && w->phys_cursor.vpos < w->current_matrix->nrows + && (row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos), + row->enabled_p) + && row->cursor_in_fringe_p) + { + /* Cursor is in the fringe. */ + cr.x = window_box_right_offset (w, + (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) + ? RIGHT_MARGIN_AREA + : TEXT_AREA)); + cr.y = row->y; + cr.width = WINDOW_RIGHT_FRINGE_WIDTH (w); + cr.height = row->height; + return x_intersect_rectangles (&cr, r, &result); + } cursor_glyph = get_phys_cursor_glyph (w); if (cursor_glyph) -- 2.30.2